Proxmox VE 开启虚拟化嵌套
检测pve上的虚拟机是否支持虚拟化
PVE虚拟出来的系统的cpu,默认未启用 vmx 或 svm,即不支持嵌套虚拟化。
在虚拟机中使用命令来验证,没有输出即不启用,有这高亮显示带 vmx 或 svm 的内容。:
egrep 'vmx|svm' /proc/cpuinfo
检查pve系统是否开启nested
# intel
cat /sys/module/kvm_intel/parameters/nested
# amd
cat /sys/module/kvm_amd/parameters/nested
N
是未开启
关闭所有虚拟机
# 列出所有虚拟机
qm list
# 关闭虚拟机
qm stop <vmid>
开启内核支持
# intel
modprobe -r kvm_intel
modprobe kvm_intel nested=1
# amd
modprobe -r kvm_amd
modprobe kvm_amd nested=1
如果报错 Module kvm_... in use
请检查虚拟机是否全部关闭。
再查看是否开启 nested
# intel
cat /sys/module/kvm_intel/parameters/nested
# amd
cat /sys/module/kvm_amd/parameters/nested
配置开启自动启用
# intel
echo "options kvm_intel nested=1" >> /etc/modprobe.d/modprobe.conf
# amd
echo "options kvm_amd nested=1" >> /etc/modprobe.d/modprobe.conf
配置虚拟机启用嵌套虚拟化
通过命令配置
以虚拟机id为 100 为例,查看配置,不支持虚拟化
qm set <vmid> --cpu cputype=host
通过Web页面配置
在虚拟机硬件中,修改 CPU 类型为 host
即可。
验证
登录虚拟机查看
egrep "vmx|svm" /proc/cpuinfo